--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/backend/test_web_audio_bridge.py 0d05d348efb249b895c5d1d59fa663f4493eebf2 (0d05d348) Text, 1.00 KB
Tff7b72import T7ee787asyncio
Tff7b72import T7ee787numpy Tff7b72as T7ee787np
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787web_audio_bridge Tff7b72import Te6edf3WebAudioSinkTb4b4b4, Te6edf3WebAudioSource
Tff7b72class T56d364_DummySinkTb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframes Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72def Td2a8ffcan_receiveTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3from_sourceTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72True
Tff7b72def Td2a8ffhandle_frameTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3frameTb4b4b4, Te6edf3sourceTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3frameTb4b4b4)
Tff7b72def Td2a8fftest_web_audio_source_pushes_framesTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3sink Tff7b72= Te6edf3_DummySinkTb4b4b4(Tb4b4b4)
Te6edf3src Tff7b72= Te6edf3WebAudioSourceTb4b4b4(Te6edf3target_frame_msTff7b72=T79c0ff60Tb4b4b4, Te6edf3sinkTff7b72=Te6edf3sinkTb4b4b4)
Te6edf3zeros Tff7b72= Te6edf3npTff7b72.Td2a8ffzerosTb4b4b4(T79c0ff160Tb4b4b4, Te6edf3dtypeTff7b72=Te6edf3npTff7b72.Td2a8ffint16Tb4b4b4)
Te6edf3srcTff7b72.Td2a8ffpush_pcmTb4b4b4(Te6edf3zerosTff7b72.Td2a8fftobytesTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72assert Tffa657lenTb4b4b4(Te6edf3sinkTff7b72.Td2a8ffframesTb4b4b4) Tff7b72== T79c0ff1
Tff7b72def Td2a8fftest_web_audio_sink_encodes_and_sends_bytesTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3loop Tff7b72= Te6edf3asyncioTff7b72.Td2a8ffnew_event_loopTb4b4b4(Tb4b4b4)
Te6edf3asyncioTff7b72.Td2a8ffset_event_loopTb4b4b4(Te6edf3loopTb4b4b4)
Te6edf3sent Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72async Tff7b72def Td2a8ff_send_bytesTb4b4b4(Te6edf3dataTb4b4b4)Tb4b4b4:
Te6edf3sentTff7b72.Td2a8ffappendTb4b4b4(Te6edf3dataTb4b4b4)
Te6edf3sink Tff7b72= Te6edf3WebAudioSinkTb4b4b4(Te6edf3loopTb4b4b4, Te6edf3_send_bytesTb4b4b4)
Te6edf3sinkTff7b72.Td2a8ffhandle_frameTb4b4b4(Te6edf3npTff7b72.Td2a8ffzerosTb4b4b4(Tb4b4b4(T79c0ff160Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4, Te6edf3dtypeTff7b72=Te6edf3npTff7b72.Td2a8fffloat32Tb4b4b4)Tb4b4b4, Tff7b72NoneTb4b4b4)
Te6edf3loopTff7b72.Td2a8ffrun_until_completeTb4b4b4(Te6edf3asyncioTff7b72.Td2a8ffsleepTb4b4b4(T79c0ff0.01Tb4b4b4)Tb4b4b4)
Te6edf3loopTff7b72.Td2a8ffcloseTb4b4b4(Tb4b4b4)
Tff7b72assert Te6edf3sentTb4b4b4, Ta5d6ff"Ta5d6ffexpected audio bytes to be queued for sendingTa5d6ff"
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────